package com.mhxy.entity;

import lombok.Data;

import java.util.*;

@Data
public class TaskThreadInfo {
    // 句柄名（线程名）
    private String hwndName;
    // 当前任务进度
    private String taskProgress;
    // 线程是否正在执行
    private Boolean isRun = false;
    // 等待执行的任务队列
    private final Queue<String> tasksQueue = new ArrayDeque<>();

    public TaskThreadInfo(String hwndName) {
        this.hwndName = hwndName;
    }

    public void addTask(List<String> selectedTasks) {
        for (String task : selectedTasks) {
            tasksQueue.offer(task);
        }
    }

    // 取出任务
    public String poolTask() {
        return tasksQueue.poll();
    }

    // 读取队列中所有任务
    public String peekTask() {
        if (tasksQueue.size() > 0) {
            return Arrays.toString(tasksQueue.toArray());
        }
        return "";
    }

    // 清空任务队列
    public void clearTask() {
        tasksQueue.clear();
    }
}
